package com.itheima.controller;

import com.itheima.pojo.Dept;
import com.itheima.pojo.Emp;
import com.itheima.pojo.Result;
import com.itheima.service.DeptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@Slf4j
@RestController
@RequestMapping("/company")
public class DeptController {
//    /company/department
@Autowired
private DeptService deptService;
    @PostMapping("/department")
    public Result add(@RequestBody Dept dept) {
        deptService.save(dept);
        return Result.success("成功");
    }
    @DeleteMapping("/department/{id}")
    public Result delete(@PathVariable Long id) {
        deptService.removeById(id);
        return Result.success("成功");
    }
    @PutMapping("/department/{id}")
    public Result update(@PathVariable Long id, @RequestBody Dept dept) {
        // 校验 ID 是否匹配
        if (id == null) {
            return Result.error("请求的ID与数据中ID不一致");
        }

        // 更新操作
        boolean isUpdated = deptService.updateById(dept);

        if (isUpdated) {
            return Result.success("成功");
        } else {
            return Result.error("更新失败");
        }
    }
    //获取部门编辑回显的基本信息
    @GetMapping("/department/{id}")
    public Result getDepartmentById(@PathVariable Long id) {
        // 根据 ID 查询部门信息
        Dept dept = deptService.getById(id);

        // 如果没有找到对应的部门，返回错误信息
        if (dept == null) {
            return Result.error("未找到该部门");
        }

        // 返回成功的响应，包含部门信息
        return Result.success(dept);
    }

    //获取所有部门基本信息
    @GetMapping("/department")
    public Result getAllDepartments() {
        // 使用 MyBatis-Plus 的 list() 方法查询所有部门信息
        List<Dept> departments = deptService.list();

        // 如果没有找到部门，返回错误信息
        if (departments == null) {
            return Result.error("未找到任何部门");
        }

        // 返回成功的响应，包含所有部门信息
        return Result.success(departments);
    }


}
